package org.shadow.core.key.database;

/**
 * <p>
 * </p>
 * @author zhouw
 * @version 0.1
 * @since 2016.12.02
 */
public abstract class DatabaseSequenceTable {
	
	private String tableName = "sh_seq";
	
	private String keyTypeColumn = "key_type";
	
	private String keyValueColumn = "key_value";
	
	private String updateTimeColumn = "update_time";
	
	/**
	 * 数据更新锁方式，0-乐观锁 1-悲观锁
	 */
	private int lockType = 0;
	
	public String getTableName() {
		return tableName;
	}

	public void setTableName(String tableName) {
		this.tableName = tableName;
	}

	public String getKeyTypeColumn() {
		return keyTypeColumn;
	}

	public void setKeyTypeColumn(String keyTypeColumn) {
		this.keyTypeColumn = keyTypeColumn;
	}

	public String getKeyValueColumn() {
		return keyValueColumn;
	}

	public void setKeyValueColumn(String keyValueColumn) {
		this.keyValueColumn = keyValueColumn;
	}

	public String getUpdateTimeColumn() {
		return updateTimeColumn;
	}

	public void setUpdateTimeColumn(String updateTimeColumn) {
		this.updateTimeColumn = updateTimeColumn;
	}
	
	public int getLockType() {
		return lockType;
	}

	public void setLockType(int lockType) {
		this.lockType = lockType;
	}
	
	public abstract String getInsertSql();
	
	public abstract String getSelectSql();
	
	public abstract String getUpdateSql();
	
}
